/**********************************************************/
/* Goblin Defense - A tower defense game for Wii Homebrew */
/* Copyright (C) 2009 Ricardo Bueno Cordeiro              */
/* Licensed under de GNU General Public License v2.0      */
/*   See license_gplv2.txt for detalis                    */
/**********************************************************/

#ifndef __WEAPON_H_
#define __WEAPON_H_

#include <gccore.h>

#include "area_item.h"

#define WEAPON_AREA_SINGLE 0
#define WEAPON_AREA_ALL    1

#define WEAPON_POSITION_PATH    0
#define WEAPON_POSITION_OFFPATH 1

#define WEAPON_UPGRADABLE_SIZE 30.0

class Pony;
class Game;

class Weapon : public AreaItem {
public:
	u32 get_priority() { return 0; }
	virtual int get_area_type() = 0;
	virtual void pony_near_by(Game *game, Pony *pony) = 0;
};

class UpgradableWeapon : public Weapon {
public:
	void draw_selected_area(u8 cr, u8 cg, u8 cb, u8 ca);
	
	virtual void draw_info() = 0;
	virtual void click(f32 x, f32 y) = 0;
};

#endif
